衝啊!pointer!
今日主題:陣列指標
陣列指標:意為陣列的元素,皆指向同一資料型態的指標,例如:
char *arr[4] = {"We", "are", "the", "world."}
由於 [ ] 運算子順運算順序高於 * 運算子,因此這條指令代表著:
(1)4個元素的陣列
(2)每一個元素皆為指標
(3)指標皆指向char
陣列名稱是arr,所以arr也表示第一個元素arr[0]的位址,而且是一指標常數,所以:
(1)*arr == arr[0]
(2)arr[0] 是 "We" 字串中W字元的位址
其實arr也可視為2維陣列(因為指標和[ ]是互通的),所以可以利用下列三種方式印出"We"字串中的W字元。
(1)兩個 *,例如:**arr
(2)一個 *,加一個 [ ] ,例如: *arr[0]
(3)兩個 [ ][ ],例如: arr[0][0]
那時需用瑪洛客呢??...
那是2014的內容...
意思是這一系列會連載到2014年嗎??...
對啊,但中間會斷個11個月...
#include <iostream>
using namespace std;
int main(){
char *arr[4] = {"We", "are", "the", "world."};
// *arr == arr[0]
cout << "**arr: " << **arr << endl;
cout << "*arr[0]: " << *arr[0] << endl;
cout << "arr[0][0]: " << arr[0][0] << endl;
}
我在編譯以上的程式時出現
[Warning] deprecated conversion from string constant to 'char*' [-Wwrite-strings]
錯誤訊息,請問是什麼原因呢?